%option noyywrap
%{
	char field[3][3] = {{'?','?','?'},{'?','?','?'},{'?','?','?'}};
	char winner = 'X', starter = 'Y';
	char signA, signB;
	int spielzuege = 0;
%}
VOWEL [aeiouAEIOU]

WINNER W:[AB]
STARTER S:[AB]
ZUG [AB][012],[012]

%s OPEN
%%
{STARTER} {
	starter = yytext[2];
	if (starter == 'A') {
		signA = 'x';
		signB = 'O';
	} else {
		signB = 'x';
		signA = 'O';
	}
	BEGIN OPEN;
}
<OPEN>{ZUG} {
	spielzuege++;
	int x = (int)(yytext[1] - '0');
	int y = (int)(yytext[3] - '0');
	// field[x][y] =  (yytext[0] == 'A') ? signA : signB;
	if (yytext[0] == 'A') {
		field[x][y] = signA;
	} else {
		field[x][y] = signB;
	}
}
<OPEN>{WINNER} {
	winner = yytext[2];
}
%%
int main() {
	yylex(); // Ruft den eigentlichen Lexer auf
	printf("Eroeffnungsspiel durch %c. Gewinner ist %c.\n", winner, starter);
	printf("%d Spielzuege\n", spielzuege);
	printf("\n%c %c %c\n%c %c %c\n%c %c %c\n\n",
		field[0][0], field[0][1], field[0][2], 
		field[1][0], field[1][1], field[1][2], 
		field[2][0], field[2][1], field[2][2]
	);
	return 0;
}